Efficient Set Sharing Using ZBDDs
نویسندگان
چکیده
Set sharing is an abstract domain in which each concrete object is represented by the set of local variables from which it might be reachable. It is a useful abstraction to detect parallelism opportunities, since it contains definite information about which variables do not share in memory, i.e., about when the memory regions reachable from those variables are disjoint. Set sharing is a more precise alternative to pair sharing, in which each domain element is a set of all pairs of local variables from which a common object may be reachable. However, the exponential complexity of some set sharing operations has limited its wider application. This work introduces an efficient implementation of the set sharing domain using Zero-supressed Binary Decision Diagrams (ZBDDs). Because ZBDDs were designed to represent sets of combinations (i.e., sets of sets), they naturally represent elements of the set sharing domain. We show how to synthesize the operations needed in the set sharing transfer functions from basic ZBDD operations. For some of the operations, we devise custom ZBDD algorithms that perform better in practice. We also compare our implementation of the abstract domain with an efficient, compact, bitset-based alternative, and show that the ZBDD version scales better in terms of both memory usage and running time.
منابع مشابه
Using ZBDDs in Points-to Analysis
Binary Decision Diagrams (BDDs) have recently become widely accepted as a space-efficient method of representing relations in points-to analyses. When BDDs are used to represent relations, each element of a domain is assigned a bit pattern to represent it, but not every bit pattern represents an element. The circuit design, model checking, and verification communities have achieved significant ...
متن کاملA Theoretical Study on Variable Ordering of ZBDDs for Representing Frequent Itemsets
(Abstract) Recently, an efficient method of database analysis using Zero-suppressed Binary Decision Diagrams (ZBDDs) has been proposed. BDDs are a graph-based representation of Boolean functions, now widely used in system design and verification. Here we focus on ZBDDs, a special type of BDDs, which are suitable for handling large-scale combinatorial itemsets in frequent item-set mining. In gen...
متن کاملZBDD-Based Backtrack Search SAT Solver
We introduce a new approach to Boolean satisfiability that combines backtrack search techniques and zero-suppressed binary decision diagrams (ZBDDs). This approach implicitly represents satisfiability instances using ZBDDs, and performs search using an efficient implementation of unit propagation on the ZBDD structure. We describe how to perform backtrack search using ZBDDs as the underlying st...
متن کاملBoolean Gröbner Basis Reductions on Datapath Circuits Using the Unate Cube Set Algebra
Recent developments in formal datapath verification make efficient use of symbolic computer algebra algorithms for formal verification. The circuit is modeled as a set of polynomials over Boolean (or pseudo-Boolean) rings, and Gröbner basis (GB) reductions are performed over these polynomials to derive a canonical representation. GB reductions of Boolean polynomials tend to cause intermediate e...
متن کاملThe Theory of Zero-Suppressed BDDs and the Number of Knight's Tours
Zero{suppressed binary decision diagrams (ZBDDs) have been introduced by Minato ((14] { 17]) who presents applications for cube set representations, fault simulation , timing analysis and the n{queens{problem. Here the structural properties of ZBDDs are worked out and a generic synthesis algorithm is presented and analyzed. It is proved that ZBDDs can be at most by a factor n + 1 smaller or lar...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008